package cn.wolfcode.wms.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.wolfcode.wms.domain.Employee;
import cn.wolfcode.wms.query.QueryObject;

public interface EmployeeMapper {

	
	/**
	 * 保存部门信息
	 * @param employee 封装部门信息的对象
	 */
	void save(Employee employee);
	
	/**
	 * 删除部门信息
	 * @param id 需要删除的部门编号
	 */
	void delete(Long id);
	
	/**
	 * 更新部门信息
	 * @param employee 需要更新的部门编号
	 */
	void update(Employee employee);
	
	/**
	 * 查询一条部门信息
	 * @param id 需要查询的部门编号
	 * @return 如果查到返回部门对象,否则返回null
	 */
	Employee get(Long id);
	
	/** 
	 * 查询分页部门信息
	 * @return 如果查到返回部门信息的list集合,否则返回空的集合
	 */
	List<Employee> list();

	int queryForCount(QueryObject qo);

	List<Employee> queryForList(QueryObject qo);

	void saveRoleAndEmployeeRelation(@Param("eId")Long eId, @Param("rId")Long rId);

	void deleteRoleAndEmployeeRelation(Long id);

	Employee selectByUsernameAndPassword(@Param("username")String username, @Param("password")String password);
}
